import axios from 'axios';
import {ElMessage} from "element-plus";

// 创建 axios 实例
const request = axios.create({
    baseURL: 'http://localhost:9090', // 基础接口地址
    timeout: 30000, // 请求超时时间
});

// 请求拦截器：在请求发送前处理
request.interceptors.request.use(config => {
    config.headers['Content-Type'] = 'application/json;charset=utf-8'
    return config;
}, (error) => {
        // 处理请求错误（如超时、参数错误）
        return Promise.reject(error);
    });

// 响应拦截器：在接收到响应后处理
request.interceptors.response.use(
    (response) => {
        // 示例：统一处理成功响应（如校验状态码、提取数据）
        let res = response.data;
        if (typeof  res === 'string') {
            res = res ? JSON.parse(res):res
        }
        return res;
    },
    (error) => {
        if (error.response.status === 404) {
            ElMessage.error("未找到請求接口")
        } else if (error.response.status === 500){
            ElMessage.error("系統異常，請查看後端控制臺報錯")
        }else {
            console.error(error.message)
        }
        return Promise.reject(error);
    }
)

export default request;